/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  1.4.1                                 |
|   \\  /    A nd           | Web:      http://www.openfoam.org               |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/

FoamFile
{
    version 2.0;
    format ascii;

    root "/home/elisa/TESI/VALIDAZIONE/SHOCK";
    case "TEST_SonicFoam";
    instance "constant";
    local "polyMesh";

    class labelList;

    note "nCells:6400 nActiveFaces:25800 nActivePoints:13202";

    object neighbour;
}

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //


25800
(
1
160
2
161
3
162
4
163
5
164
6
165
7
166
8
167
9
168
10
169
11
170
12
171
13
172
14
173
15
174
16
175
17
176
18
177
19
178
20
179
21
180
22
181
23
182
24
183
25
184
26
185
27
186
28
187
29
188
30
189
31
190
32
191
33
192
34
193
35
194
36
195
37
196
38
197
39
198
40
199
41
200
42
201
43
202
44
203
45
204
46
205
47
206
48
207
49
208
50
209
51
210
52
211
53
212
54
213
55
214
56
215
57
216
58
217
59
218
60
219
61
220
62
221
63
222
64
223
65
224
66
225
67
226
68
227
69
228
70
229
71
230
72
231
73
232
74
233
75
234
76
235
77
236
78
237
79
238
80
239
81
240
82
241
83
242
84
243
85
244
86
245
87
246
88
247
89
248
90
249
91
250
92
251
93
252
94
253
95
254
96
255
97
256
98
257
99
258
100
259
101
260
102
261
103
262
104
263
105
264
106
265
107
266
108
267
109
268
110
269
111
270
112
271
113
272
114
273
115
274
116
275
117
276
118
277
119
278
120
279
121
280
122
281
123
282
124
283
125
284
126
285
127
286
128
287
129
288
130
289
131
290
132
291
133
292
134
293
135
294
136
295
137
296
138
297
139
298
140
299
141
300
142
301
143
302
144
303
145
304
146
305
147
306
148
307
149
308
150
309
151
310
152
311
153
312
154
313
155
314
156
315
157
316
158
317
159
318
319
161
320
162
321
163
322
164
323
165
324
166
325
167
326
168
327
169
328
170
329
171
330
172
331
173
332
174
333
175
334
176
335
177
336
178
337
179
338
180
339
181
340
182
341
183
342
184
343
185
344
186
345
187
346
188
347
189
348
190
349
191
350
192
351
193
352
194
353
195
354
196
355
197
356
198
357
199
358
200
359
201
360
202
361
203
362
204
363
205
364
206
365
207
366
208
367
209
368
210
369
211
370
212
371
213
372
214
373
215
374
216
375
217
376
218
377
219
378
220
379
221
380
222
381
223
382
224
383
225
384
226
385
227
386
228
387
229
388
230
389
231
390
232
391
233
392
234
393
235
394
236
395
237
396
238
397
239
398
240
399
241
400
242
401
243
402
244
403
245
404
246
405
247
406
248
407
249
408
250
409
251
410
252
411
253
412
254
413
255
414
256
415
257
416
258
417
259
418
260
419
261
420
262
421
263
422
264
423
265
424
266
425
267
426
268
427
269
428
270
429
271
430
272
431
273
432
274
433
275
434
276
435
277
436
278
437
279
438
280
439
281
440
282
441
283
442
284
443
285
444
286
445
287
446
288
447
289
448
290
449
291
450
292
451
293
452
294
453
295
454
296
455
297
456
298
457
299
458
300
459
301
460
302
461
303
462
304
463
305
464
306
465
307
466
308
467
309
468
310
469
311
470
312
471
313
472
314
473
315
474
316
475
317
476
318
477
319
478
479
321
480
322
481
323
482
324
483
325
484
326
485
327
486
328
487
329
488
330
489
331
490
332
491
333
492
334
493
335
494
336
495
337
496
338
497
339
498
340
499
341
500
342
501
343
502
344
503
345
504
346
505
347
506
348
507
349
508
350
509
351
510
352
511
353
512
354
513
355
514
356
515
357
516
358
517
359
518
360
519
361
520
362
521
363
522
364
523
365
524
366
525
367
526
368
527
369
528
370
529
371
530
372
531
373
532
374
533
375
534
376
535
377
536
378
537
379
538
380
539
381
540
382
541
383
542
384
543
385
544
386
545
387
546
388
547
389
548
390
549
391
550
392
551
393
552
394
553
395
554
396
555
397
556
398
557
399
558
400
559
401
560
402
561
403
562
404
563
405
564
406
565
407
566
408
567
409
568
410
569
411
570
412
571
413
572
414
573
415
574
416
575
417
576
418
577
419
578
420
579
421
580
422
581
423
582
424
583
425
584
426
585
427
586
428
587
429
588
430
589
431
590
432
591
433
592
434
593
435
594
436
595
437
596
438
597
439
598
440
599
441
600
442
601
443
602
444
603
445
604
446
605
447
606
448
607
449
608
450
609
451
610
452
611
453
612
454
613
455
614
456
615
457
616
458
617
459
618
460
619
461
620
462
621
463
622
464
623
465
624
466
625
467
626
468
627
469
628
470
629
471
630
472
631
473
632
474
633
475
634
476
635
477
636
478
637
479
638
639
481
640
482
641
483
642
484
643
485
644
486
645
487
646
488
647
489
648
490
649
491
650
492
651
493
652
494
653
495
654
496
655
497
656
498
657
499
658
500
659
501
660
502
661
503
662
504
663
505
664
506
665
507
666
508
667
509
668
510
669
511
670
512
671
513
672
514
673
515
674
516
675
517
676
518
677
519
678
520
679
521
680
522
681
523
682
524
683
525
684
526
685
527
686
528
687
529
688
530
689
531
690
532
691
533
692
534
693
535
694
536
695
537
696
538
697
539
698
540
699
541
700
542
701
543
702
544
703
545
704
546
705
547
706
548
707
549
708
550
709
551
710
552
711
553
712
554
713
555
714
556
715
557
716
558
717
559
718
560
719
561
720
562
721
563
722
564
723
565
724
566
725
567
726
568
727
569
728
570
729
571
730
572
731
573
732
574
733
575
734
576
735
577
736
578
737
579
738
580
739
581
740
582
741
583
742
584
743
585
744
586
745
587
746
588
747
589
748
590
749
591
750
592
751
593
752
594
753
595
754
596
755
597
756
598
757
599
758
600
759
601
760
602
761
603
762
604
763
605
764
606
765
607
766
608
767
609
768
610
769
611
770
612
771
613
772
614
773
615
774
616
775
617
776
618
777
619
778
620
779
621
780
622
781
623
782
624
783
625
784
626
785
627
786
628
787
629
788
630
789
631
790
632
791
633
792
634
793
635
794
636
795
637
796
638
797
639
798
799
641
800
642
801
643
802
644
803
645
804
646
805
647
806
648
807
649
808
650
809
651
810
652
811
653
812
654
813
655
814
656
815
657
816
658
817
659
818
660
819
661
820
662
821
663
822
664
823
665
824
666
825
667
826
668
827
669
828
670
829
671
830
672
831
673
832
674
833
675
834
676
835
677
836
678
837
679
838
680
839
681
840
682
841
683
842
684
843
685
844
686
845
687
846
688
847
689
848
690
849
691
850
692
851
693
852
694
853
695
854
696
855
697
856
698
857
699
858
700
859
701
860
702
861
703
862
704
863
705
864
706
865
707
866
708
867
709
868
710
869
711
870
712
871
713
872
714
873
715
874
716
875
717
876
718
877
719
878
720
879
721
880
722
881
723
882
724
883
725
884
726
885
727
886
728
887
729
888
730
889
731
890
732
891
733
892
734
893
735
894
736
895
737
896
738
897
739
898
740
899
741
900
742
901
743
902
744
903
745
904
746
905
747
906
748
907
749
908
750
909
751
910
752
911
753
912
754
913
755
914
756
915
757
916
758
917
759
918
760
919
761
920
762
921
763
922
764
923
765
924
766
925
767
926
768
927
769
928
770
929
771
930
772
931
773
932
774
933
775
934
776
935
777
936
778
937
779
938
780
939
781
940
782
941
783
942
784
943
785
944
786
945
787
946
788
947
789
948
790
949
791
950
792
951
793
952
794
953
795
954
796
955
797
956
798
957
799
958
959
801
960
802
961
803
962
804
963
805
964
806
965
807
966
808
967
809
968
810
969
811
970
812
971
813
972
814
973
815
974
816
975
817
976
818
977
819
978
820
979
821
980
822
981
823
982
824
983
825
984
826
985
827
986
828
987
829
988
830
989
831
990
832
991
833
992
834
993
835
994
836
995
837
996
838
997
839
998
840
999
841
1000
842
1001
843
1002
844
1003
845
1004
846
1005
847
1006
848
1007
849
1008
850
1009
851
1010
852
1011
853
1012
854
1013
855
1014
856
1015
857
1016
858
1017
859
1018
860
1019
861
1020
862
1021
863
1022
864
1023
865
1024
866
1025
867
1026
868
1027
869
1028
870
1029
871
1030
872
1031
873
1032
874
1033
875
1034
876
1035
877
1036
878
1037
879
1038
880
1039
881
1040
882
1041
883
1042
884
1043
885
1044
886
1045
887
1046
888
1047
889
1048
890
1049
891
1050
892
1051
893
1052
894
1053
895
1054
896
1055
897
1056
898
1057
899
1058
900
1059
901
1060
902
1061
903
1062
904
1063
905
1064
906
1065
907
1066
908
1067
909
1068
910
1069
911
1070
912
1071
913
1072
914
1073
915
1074
916
1075
917
1076
918
1077
919
1078
920
1079
921
1080
922
1081
923
1082
924
1083
925
1084
926
1085
927
1086
928
1087
929
1088
930
1089
931
1090
932
1091
933
1092
934
1093
935
1094
936
1095
937
1096
938
1097
939
1098
940
1099
941
1100
942
1101
943
1102
944
1103
945
1104
946
1105
947
1106
948
1107
949
1108
950
1109
951
1110
952
1111
953
1112
954
1113
955
1114
956
1115
957
1116
958
1117
959
1118
1119
961
1120
962
1121
963
1122
964
1123
965
1124
966
1125
967
1126
968
1127
969
1128
970
1129
971
1130
972
1131
973
1132
974
1133
975
1134
976
1135
977
1136
978
1137
979
1138
980
1139
981
1140
982
1141
983
1142
984
1143
985
1144
986
1145
987
1146
988
1147
989
1148
990
1149
991
1150
992
1151
993
1152
994
1153
995
1154
996
1155
997
1156
998
1157
999
1158
1000
1159
1001
1160
1002
1161
1003
1162
1004
1163
1005
1164
1006
1165
1007
1166
1008
1167
1009
1168
1010
1169
1011
1170
1012
1171
1013
1172
1014
1173
1015
1174
1016
1175
1017
1176
1018
1177
1019
1178
1020
1179
1021
1180
1022
1181
1023
1182
1024
1183
1025
1184
1026
1185
1027
1186
1028
1187
1029
1188
1030
1189
1031
1190
1032
1191
1033
1192
1034
1193
1035
1194
1036
1195
1037
1196
1038
1197
1039
1198
1040
1199
1041
1200
1042
1201
1043
1202
1044
1203
1045
1204
1046
1205
1047
1206
1048
1207
1049
1208
1050
1209
1051
1210
1052
1211
1053
1212
1054
1213
1055
1214
1056
1215
1057
1216
1058
1217
1059
1218
1060
1219
1061
1220
1062
1221
1063
1222
1064
1223
1065
1224
1066
1225
1067
1226
1068
1227
1069
1228
1070
1229
1071
1230
1072
1231
1073
1232
1074
1233
1075
1234
1076
1235
1077
1236
1078
1237
1079
1238
1080
1239
1081
1240
1082
1241
1083
1242
1084
1243
1085
1244
1086
1245
1087
1246
1088
1247
1089
1248
1090
1249
1091
1250
1092
1251
1093
1252
1094
1253
1095
1254
1096
1255
1097
1256
1098
1257
1099
1258
1100
1259
1101
1260
1102
1261
1103
1262
1104
1263
1105
1264
1106
1265
1107
1266
1108
1267
1109
1268
1110
1269
1111
1270
1112
1271
1113
1272
1114
1273
1115
1274
1116
1275
1117
1276
1118
1277
1119
1278
1279
1121
1280
1122
1281
1123
1282
1124
1283
1125
1284
1126
1285
1127
1286
1128
1287
1129
1288
1130
1289
1131
1290
1132
1291
1133
1292
1134
1293
1135
1294
1136
1295
1137
1296
1138
1297
1139
1298
1140
1299
1141
1300
1142
1301
1143
1302
1144
1303
1145
1304
1146
1305
1147
1306
1148
1307
1149
1308
1150
1309
1151
1310
1152
1311
1153
1312
1154
1313
1155
1314
1156
1315
1157
1316
1158
1317
1159
1318
1160
1319
1161
1320
1162
1321
1163
1322
1164
1323
1165
1324
1166
1325
1167
1326
1168
1327
1169
1328
1170
1329
1171
1330
1172
1331
1173
1332
1174
1333
1175
1334
1176
1335
1177
1336
1178
1337
1179
1338
1180
1339
1181
1340
1182
1341
1183
1342
1184
1343
1185
1344
1186
1345
1187
1346
1188
1347
1189
1348
1190
1349
1191
1350
1192
1351
1193
1352
1194
1353
1195
1354
1196
1355
1197
1356
1198
1357
1199
1358
1200
1359
1201
1360
1202
1361
1203
1362
1204
1363
1205
1364
1206
1365
1207
1366
1208
1367
1209
1368
1210
1369
1211
1370
1212
1371
1213
1372
1214
1373
1215
1374
1216
1375
1217
1376
1218
1377
1219
1378
1220
1379
1221
1380
1222
1381
1223
1382
1224
1383
1225
1384
1226
1385
1227
1386
1228
1387
1229
1388
1230
1389
1231
1390
1232
1391
1233
1392
1234
1393
1235
1394
1236
1395
1237
1396
1238
1397
1239
1398
1240
1399
1241
1400
1242
1401
1243
1402
1244
1403
1245
1404
1246
1405
1247
1406
1248
1407
1249
1408
1250
1409
1251
1410
1252
1411
1253
1412
1254
1413
1255
1414
1256
1415
1257
1416
1258
1417
1259
1418
1260
1419
1261
1420
1262
1421
1263
1422
1264
1423
1265
1424
1266
1425
1267
1426
1268
1427
1269
1428
1270
1429
1271
1430
1272
1431
1273
1432
1274
1433
1275
1434
1276
1435
1277
1436
1278
1437
1279
1438
1439
1281
1440
1282
1441
1283
1442
1284
1443
1285
1444
1286
1445
1287
1446
1288
1447
1289
1448
1290
1449
1291
1450
1292
1451
1293
1452
1294
1453
1295
1454
1296
1455
1297
1456
1298
1457
1299
1458
1300
1459
1301
1460
1302
1461
1303
1462
1304
1463
1305
1464
1306
1465
1307
1466
1308
1467
1309
1468
1310
1469
1311
1470
1312
1471
1313
1472
1314
1473
1315
1474
1316
1475
1317
1476
1318
1477
1319
1478
1320
1479
1321
1480
1322
1481
1323
1482
1324
1483
1325
1484
1326
1485
1327
1486
1328
1487
1329
1488
1330
1489
1331
1490
1332
1491
1333
1492
1334
1493
1335
1494
1336
1495
1337
1496
1338
1497
1339
1498
1340
1499
1341
1500
1342
1501
1343
1502
1344
1503
1345
1504
1346
1505
1347
1506
1348
1507
1349
1508
1350
1509
1351
1510
1352
1511
1353
1512
1354
1513
1355
1514
1356
1515
1357
1516
1358
1517
1359
1518
1360
1519
1361
1520
1362
1521
1363
1522
1364
1523
1365
1524
1366
1525
1367
1526
1368
1527
1369
1528
1370
1529
1371
1530
1372
1531
1373
1532
1374
1533
1375
1534
1376
1535
1377
1536
1378
1537
1379
1538
1380
1539
1381
1540
1382
1541
1383
1542
1384
1543
1385
1544
1386
1545
1387
1546
1388
1547
1389
1548
1390
1549
1391
1550
1392
1551
1393
1552
1394
1553
1395
1554
1396
1555
1397
1556
1398
1557
1399
1558
1400
1559
1401
1560
1402
1561
1403
1562
1404
1563
1405
1564
1406
1565
1407
1566
1408
1567
1409
1568
1410
1569
1411
1570
1412
1571
1413
1572
1414
1573
1415
1574
1416
1575
1417
1576
1418
1577
1419
1578
1420
1579
1421
1580
1422
1581
1423
1582
1424
1583
1425
1584
1426
1585
1427
1586
1428
1587
1429
1588
1430
1589
1431
1590
1432
1591
1433
1592
1434
1593
1435
1594
1436
1595
1437
1596
1438
1597
1439
1598
1599
1441
1600
1442
1601
1443
1602
1444
1603
1445
1604
1446
1605
1447
1606
1448
1607
1449
1608
1450
1609
1451
1610
1452
1611
1453
1612
1454
1613
1455
1614
1456
1615
1457
1616
1458
1617
1459
1618
1460
1619
1461
1620
1462
1621
1463
1622
1464
1623
1465
1624
1466
1625
1467
1626
1468
1627
1469
1628
1470
1629
1471
1630
1472
1631
1473
1632
1474
1633
1475
1634
1476
1635
1477
1636
1478
1637
1479
1638
1480
1639
1481
1640
1482
1641
1483
1642
1484
1643
1485
1644
1486
1645
1487
1646
1488
1647
1489
1648
1490
1649
1491
1650
1492
1651
1493
1652
1494
1653
1495
1654
1496
1655
1497
1656
1498
1657
1499
1658
1500
1659
1501
1660
1502
1661
1503
1662
1504
1663
1505
1664
1506
1665
1507
1666
1508
1667
1509
1668
1510
1669
1511
1670
1512
1671
1513
1672
1514
1673
1515
1674
1516
1675
1517
1676
1518
1677
1519
1678
1520
1679
1521
1680
1522
1681
1523
1682
1524
1683
1525
1684
1526
1685
1527
1686
1528
1687
1529
1688
1530
1689
1531
1690
1532
1691
1533
1692
1534
1693
1535
1694
1536
1695
1537
1696
1538
1697
1539
1698
1540
1699
1541
1700
1542
1701
1543
1702
1544
1703
1545
1704
1546
1705
1547
1706
1548
1707
1549
1708
1550
1709
1551
1710
1552
1711
1553
1712
1554
1713
1555
1714
1556
1715
1557
1716
1558
1717
1559
1718
1560
1719
1561
1720
1562
1721
1563
1722
1564
1723
1565
1724
1566
1725
1567
1726
1568
1727
1569
1728
1570
1729
1571
1730
1572
1731
1573
1732
1574
1733
1575
1734
1576
1735
1577
1736
1578
1737
1579
1738
1580
1739
1581
1740
1582
1741
1583
1742
1584
1743
1585
1744
1586
1745
1587
1746
1588
1747
1589
1748
1590
1749
1591
1750
1592
1751
1593
1752
1594
1753
1595
1754
1596
1755
1597
1756
1598
1757
1599
1758
1759
1601
1760
1602
1761
1603
1762
1604
1763
1605
1764
1606
1765
1607
1766
1608
1767
1609
1768
1610
1769
1611
1770
1612
1771
1613
1772
1614
1773
1615
1774
1616
1775
1617
1776
1618
1777
1619
1778
1620
1779
1621
1780
1622
1781
1623
1782
1624
1783
1625
1784
1626
1785
1627
1786
1628
1787
1629
1788
1630
1789
1631
1790
1632
1791
1633
1792
1634
1793
1635
1794
1636
1795
1637
1796
1638
1797
1639
1798
1640
1799
1641
1800
1642
1801
1643
1802
1644
1803
1645
1804
1646
1805
1647
1806
1648
1807
1649
1808
1650
1809
1651
1810
1652
1811
1653
1812
1654
1813
1655
1814
1656
1815
1657
1816
1658
1817
1659
1818
1660
1819
1661
1820
1662
1821
1663
1822
1664
1823
1665
1824
1666
1825
1667
1826
1668
1827
1669
1828
1670
1829
1671
1830
1672
1831
1673
1832
1674
1833
1675
1834
1676
1835
1677
1836
1678
1837
1679
1838
1680
1839
1681
1840
1682
1841
1683
1842
1684
1843
1685
1844
1686
1845
1687
1846
1688
1847
1689
1848
1690
1849
1691
1850
1692
1851
1693
1852
1694
1853
1695
1854
1696
1855
1697
1856
1698
1857
1699
1858
1700
1859
1701
1860
1702
1861
1703
1862
1704
1863
1705
1864
1706
1865
1707
1866
1708
1867
1709
1868
1710
1869
1711
1870
1712
1871
1713
1872
1714
1873
1715
1874
1716
1875
1717
1876
1718
1877
1719
1878
1720
1879
1721
1880
1722
1881
1723
1882
1724
1883
1725
1884
1726
1885
1727
1886
1728
1887
1729
1888
1730
1889
1731
1890
1732
1891
1733
1892
1734
1893
1735
1894
1736
1895
1737
1896
1738
1897
1739
1898
1740
1899
1741
1900
1742
1901
1743
1902
1744
1903
1745
1904
1746
1905
1747
1906
1748
1907
1749
1908
1750
1909
1751
1910
1752
1911
1753
1912
1754
1913
1755
1914
1756
1915
1757
1916
1758
1917
1759
1918
1919
1761
1920
1762
1921
1763
1922
1764
1923
1765
1924
1766
1925
1767
1926
1768
1927
1769
1928
1770
1929
1771
1930
1772
1931
1773
1932
1774
1933
1775
1934
1776
1935
1777
1936
1778
1937
1779
1938
1780
1939
1781
1940
1782
1941
1783
1942
1784
1943
1785
1944
1786
1945
1787
1946
1788
1947
1789
1948
1790
1949
1791
1950
1792
1951
1793
1952
1794
1953
1795
1954
1796
1955
1797
1956
1798
1957
1799
1958
1800
1959
1801
1960
1802
1961
1803
1962
1804
1963
1805
1964
1806
1965
1807
1966
1808
1967
1809
1968
1810
1969
1811
1970
1812
1971
1813
1972
1814
1973
1815
1974
1816
1975
1817
1976
1818
1977
1819
1978
1820
1979
1821
1980
1822
1981
1823
1982
1824
1983
1825
1984
1826
1985
1827
1986
1828
1987
1829
1988
1830
1989
1831
1990
1832
1991
1833
1992
1834
1993
1835
1994
1836
1995
1837
1996
1838
1997
1839
1998
1840
1999
1841
2000
1842
2001
1843
2002
1844
2003
1845
2004
1846
2005
1847
2006
1848
2007
1849
2008
1850
2009
1851
2010
1852
2011
1853
2012
1854
2013
1855
2014
1856
2015
1857
2016
1858
2017
1859
2018
1860
2019
1861
2020
1862
2021
1863
2022
1864
2023
1865
2024
1866
2025
1867
2026
1868
2027
1869
2028
1870
2029
1871
2030
1872
2031
1873
2032
1874
2033
1875
2034
1876
2035
1877
2036
1878
2037
1879
2038
1880
2039
1881
2040
1882
2041
1883
2042
1884
2043
1885
2044
1886
2045
1887
2046
1888
2047
1889
2048
1890
2049
1891
2050
1892
2051
1893
2052
1894
2053
1895
2054
1896
2055
1897
2056
1898
2057
1899
2058
1900
2059
1901
2060
1902
2061
1903
2062
1904
2063
1905
2064
1906
2065
1907
2066
1908
2067
1909
2068
1910
2069
1911
2070
1912
2071
1913
2072
1914
2073
1915
2074
1916
2075
1917
2076
1918
2077
1919
2078
2079
1921
2080
1922
2081
1923
2082
1924
2083
1925
2084
1926
2085
1927
2086
1928
2087
1929
2088
1930
2089
1931
2090
1932
2091
1933
2092
1934
2093
1935
2094
1936
2095
1937
2096
1938
2097
1939
2098
1940
2099
1941
2100
1942
2101
1943
2102
1944
2103
1945
2104
1946
2105
1947
2106
1948
2107
1949
2108
1950
2109
1951
2110
1952
2111
1953
2112
1954
2113
1955
2114
1956
2115
1957
2116
1958
2117
1959
2118
1960
2119
1961
2120
1962
2121
1963
2122
1964
2123
1965
2124
1966
2125
1967
2126
1968
2127
1969
2128
1970
2129
1971
2130
1972
2131
1973
2132
1974
2133
1975
2134
1976
2135
1977
2136
1978
2137
1979
2138
1980
2139
1981
2140
1982
2141
1983
2142
1984
2143
1985
2144
1986
2145
1987
2146
1988
2147
1989
2148
1990
2149
1991
2150
1992
2151
1993
2152
1994
2153
1995
2154
1996
2155
1997
2156
1998
2157
1999
2158
2000
2159
2001
2160
2002
2161
2003
2162
2004
2163
2005
2164
2006
2165
2007
2166
2008
2167
2009
2168
2010
2169
2011
2170
2012
2171
2013
2172
2014
2173
2015
2174
2016
2175
2017
2176
2018
2177
2019
2178
2020
2179
2021
2180
2022
2181
2023
2182
2024
2183
2025
2184
2026
2185
2027
2186
2028
2187
2029
2188
2030
2189
2031
2190
2032
2191
2033
2192
2034
2193
2035
2194
2036
2195
2037
2196
2038
2197
2039
2198
2040
2199
2041
2200
2042
2201
2043
2202
2044
2203
2045
2204
2046
2205
2047
2206
2048
2207
2049
2208
2050
2209
2051
2210
2052
2211
2053
2212
2054
2213
2055
2214
2056
2215
2057
2216
2058
2217
2059
2218
2060
2219
2061
2220
2062
2221
2063
2222
2064
2223
2065
2224
2066
2225
2067
2226
2068
2227
2069
2228
2070
2229
2071
2230
2072
2231
2073
2232
2074
2233
2075
2234
2076
2235
2077
2236
2078
2237
2079
2238
2239
2081
2240
2082
2241
2083
2242
2084
2243
2085
2244
2086
2245
2087
2246
2088
2247
2089
2248
2090
2249
2091
2250
2092
2251
2093
2252
2094
2253
2095
2254
2096
2255
2097
2256
2098
2257
2099
2258
2100
2259
2101
2260
2102
2261
2103
2262
2104
2263
2105
2264
2106
2265
2107
2266
2108
2267
2109
2268
2110
2269
2111
2270
2112
2271
2113
2272
2114
2273
2115
2274
2116
2275
2117
2276
2118
2277
2119
2278
2120
2279
2121
2280
2122
2281
2123
2282
2124
2283
2125
2284
2126
2285
2127
2286
2128
2287
2129
2288
2130
2289
2131
2290
2132
2291
2133
2292
2134
2293
2135
2294
2136
2295
2137
2296
2138
2297
2139
2298
2140
2299
2141
2300
2142
2301
2143
2302
2144
2303
2145
2304
2146
2305
2147
2306
2148
2307
2149
2308
2150
2309
2151
2310
2152
2311
2153
2312
2154
2313
2155
2314
2156
2315
2157
2316
2158
2317
2159
2318
2160
2319
2161
2320
2162
2321
2163
2322
2164
2323
2165
2324
2166
2325
2167
2326
2168
2327
2169
2328
2170
2329
2171
2330
2172
2331
2173
2332
2174
2333
2175
2334
2176
2335
2177
2336
2178
2337
2179
2338
2180
2339
2181
2340
2182
2341
2183
2342
2184
2343
2185
2344
2186
2345
2187
2346
2188
2347
2189
2348
2190
2349
2191
2350
2192
2351
2193
2352
2194
2353
2195
2354
2196
2355
2197
2356
2198
2357
2199
2358
2200
2359
2201
2360
2202
2361
2203
2362
2204
2363
2205
2364
2206
2365
2207
2366
2208
2367
2209
2368
2210
2369
2211
2370
2212
2371
2213
2372
2214
2373
2215
2374
2216
2375
2217
2376
2218
2377
2219
2378
2220
2379
2221
2380
2222
2381
2223
2382
2224
2383
2225
2384
2226
2385
2227
2386
2228
2387
2229
2388
2230
2389
2231
2390
2232
2391
2233
2392
2234
2393
2235
2394
2236
2395
2237
2396
2238
2397
2239
2398
2399
2241
2400
2242
2401
2243
2402
2244
2403
2245
2404
2246
2405
2247
2406
2248
2407
2249
2408
2250
2409
2251
2410
2252
2411
2253
2412
2254
2413
2255
2414
2256
2415
2257
2416
2258
2417
2259
2418
2260
2419
2261
2420
2262
2421
2263
2422
2264
2423
2265
2424
2266
2425
2267
2426
2268
2427
2269
2428
2270
2429
2271
2430
2272
2431
2273
2432
2274
2433
2275
2434
2276
2435
2277
2436
2278
2437
2279
2438
2280
2439
2281
2440
2282
2441
2283
2442
2284
2443
2285
2444
2286
2445
2287
2446
2288
2447
2289
2448
2290
2449
2291
2450
2292
2451
2293
2452
2294
2453
2295
2454
2296
2455
2297
2456
2298
2457
2299
2458
2300
2459
2301
2460
2302
2461
2303
2462
2304
2463
2305
2464
2306
2465
2307
2466
2308
2467
2309
2468
2310
2469
2311
2470
2312
2471
2313
2472
2314
2473
2315
2474
2316
2475
2317
2476
2318
2477
2319
2478
2320
2479
2321
2480
2322
2481
2323
2482
2324
2483
2325
2484
2326
2485
2327
2486
2328
2487
2329
2488
2330
2489
2331
2490
2332
2491
2333
2492
2334
2493
2335
2494
2336
2495
2337
2496
2338
2497
2339
2498
2340
2499
2341
2500
2342
2501
2343
2502
2344
2503
2345
2504
2346
2505
2347
2506
2348
2507
2349
2508
2350
2509
2351
2510
2352
2511
2353
2512
2354
2513
2355
2514
2356
2515
2357
2516
2358
2517
2359
2518
2360
2519
2361
2520
2362
2521
2363
2522
2364
2523
2365
2524
2366
2525
2367
2526
2368
2527
2369
2528
2370
2529
2371
2530
2372
2531
2373
2532
2374
2533
2375
2534
2376
2535
2377
2536
2378
2537
2379
2538
2380
2539
2381
2540
2382
2541
2383
2542
2384
2543
2385
2544
2386
2545
2387
2546
2388
2547
2389
2548
2390
2549
2391
2550
2392
2551
2393
2552
2394
2553
2395
2554
2396
2555
2397
2556
2398
2557
2399
2558
2559
2401
2560
2402
2561
2403
2562
2404
2563
2405
2564
2406
2565
2407
2566
2408
2567
2409
2568
2410
2569
2411
2570
2412
2571
2413
2572
2414
2573
2415
2574
2416
2575
2417
2576
2418
2577
2419
2578
2420
2579
2421
2580
2422
2581
2423
2582
2424
2583
2425
2584
2426
2585
2427
2586
2428
2587
2429
2588
2430
2589
2431
2590
2432
2591
2433
2592
2434
2593
2435
2594
2436
2595
2437
2596
2438
2597
2439
2598
2440
2599
2441
2600
2442
2601
2443
2602
2444
2603
2445
2604
2446
2605
2447
2606
2448
2607
2449
2608
2450
2609
2451
2610
2452
2611
2453
2612
2454
2613
2455
2614
2456
2615
2457
2616
2458
2617
2459
2618
2460
2619
2461
2620
2462
2621
2463
2622
2464
2623
2465
2624
2466
2625
2467
2626
2468
2627
2469
2628
2470
2629
2471
2630
2472
2631
2473
2632
2474
2633
2475
2634
2476
2635
2477
2636
2478
2637
2479
2638
2480
2639
2481
2640
2482
2641
2483
2642
2484
2643
2485
2644
2486
2645
2487
2646
2488
2647
2489
2648
2490
2649
2491
2650
2492
2651
2493
2652
2494
2653
2495
2654
2496
2655
2497
2656
2498
2657
2499
2658
2500
2659
2501
2660
2502
2661
2503
2662
2504
2663
2505
2664
2506
2665
2507
2666
2508
2667
2509
2668
2510
2669
2511
2670
2512
2671
2513
2672
2514
2673
2515
2674
2516
2675
2517
2676
2518
2677
2519
2678
2520
2679
2521
2680
2522
2681
2523
2682
2524
2683
2525
2684
2526
2685
2527
2686
2528
2687
2529
2688
2530
2689
2531
2690
2532
2691
2533
2692
2534
2693
2535
2694
2536
2695
2537
2696
2538
2697
2539
2698
2540
2699
2541
2700
2542
2701
2543
2702
2544
2703
2545
2704
2546
2705
2547
2706
2548
2707
2549
2708
2550
2709
2551
2710
2552
2711
2553
2712
2554
2713
2555
2714
2556
2715
2557
2716
2558
2717
2559
2718
2719
2561
2720
2562
2721
2563
2722
2564
2723
2565
2724
2566
2725
2567
2726
2568
2727
2569
2728
2570
2729
2571
2730
2572
2731
2573
2732
2574
2733
2575
2734
2576
2735
2577
2736
2578
2737
2579
2738
2580
2739
2581
2740
2582
2741
2583
2742
2584
2743
2585
2744
2586
2745
2587
2746
2588
2747
2589
2748
2590
2749
2591
2750
2592
2751
2593
2752
2594
2753
2595
2754
2596
2755
2597
2756
2598
2757
2599
2758
2600
2759
2601
2760
2602
2761
2603
2762
2604
2763
2605
2764
2606
2765
2607
2766
2608
2767
2609
2768
2610
2769
2611
2770
2612
2771
2613
2772
2614
2773
2615
2774
2616
2775
2617
2776
2618
2777
2619
2778
2620
2779
2621
2780
2622
2781
2623
2782
2624
2783
2625
2784
2626
2785
2627
2786
2628
2787
2629
2788
2630
2789
2631
2790
2632
2791
2633
2792
2634
2793
2635
2794
2636
2795
2637
2796
2638
2797
2639
2798
2640
2799
2641
2800
2642
2801
2643
2802
2644
2803
2645
2804
2646
2805
2647
2806
2648
2807
2649
2808
2650
2809
2651
2810
2652
2811
2653
2812
2654
2813
2655
2814
2656
2815
2657
2816
2658
2817
2659
2818
2660
2819
2661
2820
2662
2821
2663
2822
2664
2823
2665
2824
2666
2825
2667
2826
2668
2827
2669
2828
2670
2829
2671
2830
2672
2831
2673
2832
2674
2833
2675
2834
2676
2835
2677
2836
2678
2837
2679
2838
2680
2839
2681
2840
2682
2841
2683
2842
2684
2843
2685
2844
2686
2845
2687
2846
2688
2847
2689
2848
2690
2849
2691
2850
2692
2851
2693
2852
2694
2853
2695
2854
2696
2855
2697
2856
2698
2857
2699
2858
2700
2859
2701
2860
2702
2861
2703
2862
2704
2863
2705
2864
2706
2865
2707
2866
2708
2867
2709
2868
2710
2869
2711
2870
2712
2871
2713
2872
2714
2873
2715
2874
2716
2875
2717
2876
2718
2877
2719
2878
2879
2721
2880
2722
2881
2723
2882
2724
2883
2725
2884
2726
2885
2727
2886
2728
2887
2729
2888
2730
2889
2731
2890
2732
2891
2733
2892
2734
2893
2735
2894
2736
2895
2737
2896
2738
2897
2739
2898
2740
2899
2741
2900
2742
2901
2743
2902
2744
2903
2745
2904
2746
2905
2747
2906
2748
2907
2749
2908
2750
2909
2751
2910
2752
2911
2753
2912
2754
2913
2755
2914
2756
2915
2757
2916
2758
2917
2759
2918
2760
2919
2761
2920
2762
2921
2763
2922
2764
2923
2765
2924
2766
2925
2767
2926
2768
2927
2769
2928
2770
2929
2771
2930
2772
2931
2773
2932
2774
2933
2775
2934
2776
2935
2777
2936
2778
2937
2779
2938
2780
2939
2781
2940
2782
2941
2783
2942
2784
2943
2785
2944
2786
2945
2787
2946
2788
2947
2789
2948
2790
2949
2791
2950
2792
2951
2793
2952
2794
2953
2795
2954
2796
2955
2797
2956
2798
2957
2799
2958
2800
2959
2801
2960
2802
2961
2803
2962
2804
2963
2805
2964
2806
2965
2807
2966
2808
2967
2809
2968
2810
2969
2811
2970
2812
2971
2813
2972
2814
2973
2815
2974
2816
2975
2817
2976
2818
2977
2819
2978
2820
2979
2821
2980
2822
2981
2823
2982
2824
2983
2825
2984
2826
2985
2827
2986
2828
2987
2829
2988
2830
2989
2831
2990
2832
2991
2833
2992
2834
2993
2835
2994
2836
2995
2837
2996
2838
2997
2839
2998
2840
2999
2841
3000
2842
3001
2843
3002
2844
3003
2845
3004
2846
3005
2847
3006
2848
3007
2849
3008
2850
3009
2851
3010
2852
3011
2853
3012
2854
3013
2855
3014
2856
3015
2857
3016
2858
3017
2859
3018
2860
3019
2861
3020
2862
3021
2863
3022
2864
3023
2865
3024
2866
3025
2867
3026
2868
3027
2869
3028
2870
3029
2871
3030
2872
3031
2873
3032
2874
3033
2875
3034
2876
3035
2877
3036
2878
3037
2879
3038
3039
2881
3040
2882
3041
2883
3042
2884
3043
2885
3044
2886
3045
2887
3046
2888
3047
2889
3048
2890
3049
2891
3050
2892
3051
2893
3052
2894
3053
2895
3054
2896
3055
2897
3056
2898
3057
2899
3058
2900
3059
2901
3060
2902
3061
2903
3062
2904
3063
2905
3064
2906
3065
2907
3066
2908
3067
2909
3068
2910
3069
2911
3070
2912
3071
2913
3072
2914
3073
2915
3074
2916
3075
2917
3076
2918
3077
2919
3078
2920
3079
2921
3080
2922
3081
2923
3082
2924
3083
2925
3084
2926
3085
2927
3086
2928
3087
2929
3088
2930
3089
2931
3090
2932
3091
2933
3092
2934
3093
2935
3094
2936
3095
2937
3096
2938
3097
2939
3098
2940
3099
2941
3100
2942
3101
2943
3102
2944
3103
2945
3104
2946
3105
2947
3106
2948
3107
2949
3108
2950
3109
2951
3110
2952
3111
2953
3112
2954
3113
2955
3114
2956
3115
2957
3116
2958
3117
2959
3118
2960
3119
2961
3120
2962
3121
2963
3122
2964
3123
2965
3124
2966
3125
2967
3126
2968
3127
2969
3128
2970
3129
2971
3130
2972
3131
2973
3132
2974
3133
2975
3134
2976
3135
2977
3136
2978
3137
2979
3138
2980
3139
2981
3140
2982
3141
2983
3142
2984
3143
2985
3144
2986
3145
2987
3146
2988
3147
2989
3148
2990
3149
2991
3150
2992
3151
2993
3152
2994
3153
2995
3154
2996
3155
2997
3156
2998
3157
2999
3158
3000
3159
3001
3160
3002
3161
3003
3162
3004
3163
3005
3164
3006
3165
3007
3166
3008
3167
3009
3168
3010
3169
3011
3170
3012
3171
3013
3172
3014
3173
3015
3174
3016
3175
3017
3176
3018
3177
3019
3178
3020
3179
3021
3180
3022
3181
3023
3182
3024
3183
3025
3184
3026
3185
3027
3186
3028
3187
3029
3188
3030
3189
3031
3190
3032
3191
3033
3192
3034
3193
3035
3194
3036
3195
3037
3196
3038
3197
3039
3198
3199
3041
3200
3042
3201
3043
3202
3044
3203
3045
3204
3046
3205
3047
3206
3048
3207
3049
3208
3050
3209
3051
3210
3052
3211
3053
3212
3054
3213
3055
3214
3056
3215
3057
3216
3058
3217
3059
3218
3060
3219
3061
3220
3062
3221
3063
3222
3064
3223
3065
3224
3066
3225
3067
3226
3068
3227
3069
3228
3070
3229
3071
3230
3072
3231
3073
3232
3074
3233
3075
3234
3076
3235
3077
3236
3078
3237
3079
3238
3080
3239
3081
3240
3082
3241
3083
3242
3084
3243
3085
3244
3086
3245
3087
3246
3088
3247
3089
3248
3090
3249
3091
3250
3092
3251
3093
3252
3094
3253
3095
3254
3096
3255
3097
3256
3098
3257
3099
3258
3100
3259
3101
3260
3102
3261
3103
3262
3104
3263
3105
3264
3106
3265
3107
3266
3108
3267
3109
3268
3110
3269
3111
3270
3112
3271
3113
3272
3114
3273
3115
3274
3116
3275
3117
3276
3118
3277
3119
3278
3120
3279
3121
3280
3122
3281
3123
3282
3124
3283
3125
3284
3126
3285
3127
3286
3128
3287
3129
3288
3130
3289
3131
3290
3132
3291
3133
3292
3134
3293
3135
3294
3136
3295
3137
3296
3138
3297
3139
3298
3140
3299
3141
3300
3142
3301
3143
3302
3144
3303
3145
3304
3146
3305
3147
3306
3148
3307
3149
3308
3150
3309
3151
3310
3152
3311
3153
3312
3154
3313
3155
3314
3156
3315
3157
3316
3158
3317
3159
3318
3160
3319
3161
3320
3162
3321
3163
3322
3164
3323
3165
3324
3166
3325
3167
3326
3168
3327
3169
3328
3170
3329
3171
3330
3172
3331
3173
3332
3174
3333
3175
3334
3176
3335
3177
3336
3178
3337
3179
3338
3180
3339
3181
3340
3182
3341
3183
3342
3184
3343
3185
3344
3186
3345
3187
3346
3188
3347
3189
3348
3190
3349
3191
3350
3192
3351
3193
3352
3194
3353
3195
3354
3196
3355
3197
3356
3198
3357
3199
3358
3359
3201
3360
3202
3361
3203
3362
3204
3363
3205
3364
3206
3365
3207
3366
3208
3367
3209
3368
3210
3369
3211
3370
3212
3371
3213
3372
3214
3373
3215
3374
3216
3375
3217
3376
3218
3377
3219
3378
3220
3379
3221
3380
3222
3381
3223
3382
3224
3383
3225
3384
3226
3385
3227
3386
3228
3387
3229
3388
3230
3389
3231
3390
3232
3391
3233
3392
3234
3393
3235
3394
3236
3395
3237
3396
3238
3397
3239
3398
3240
3399
3241
3400
3242
3401
3243
3402
3244
3403
3245
3404
3246
3405
3247
3406
3248
3407
3249
3408
3250
3409
3251
3410
3252
3411
3253
3412
3254
3413
3255
3414
3256
3415
3257
3416
3258
3417
3259
3418
3260
3419
3261
3420
3262
3421
3263
3422
3264
3423
3265
3424
3266
3425
3267
3426
3268
3427
3269
3428
3270
3429
3271
3430
3272
3431
3273
3432
3274
3433
3275
3434
3276
3435
3277
3436
3278
3437
3279
3438
3280
3439
3281
3440
3282
3441
3283
3442
3284
3443
3285
3444
3286
3445
3287
3446
3288
3447
3289
3448
3290
3449
3291
3450
3292
3451
3293
3452
3294
3453
3295
3454
3296
3455
3297
3456
3298
3457
3299
3458
3300
3459
3301
3460
3302
3461
3303
3462
3304
3463
3305
3464
3306
3465
3307
3466
3308
3467
3309
3468
3310
3469
3311
3470
3312
3471
3313
3472
3314
3473
3315
3474
3316
3475
3317
3476
3318
3477
3319
3478
3320
3479
3321
3480
3322
3481
3323
3482
3324
3483
3325
3484
3326
3485
3327
3486
3328
3487
3329
3488
3330
3489
3331
3490
3332
3491
3333
3492
3334
3493
3335
3494
3336
3495
3337
3496
3338
3497
3339
3498
3340
3499
3341
3500
3342
3501
3343
3502
3344
3503
3345
3504
3346
3505
3347
3506
3348
3507
3349
3508
3350
3509
3351
3510
3352
3511
3353
3512
3354
3513
3355
3514
3356
3515
3357
3516
3358
3517
3359
3518
3519
3361
3520
3362
3521
3363
3522
3364
3523
3365
3524
3366
3525
3367
3526
3368
3527
3369
3528
3370
3529
3371
3530
3372
3531
3373
3532
3374
3533
3375
3534
3376
3535
3377
3536
3378
3537
3379
3538
3380
3539
3381
3540
3382
3541
3383
3542
3384
3543
3385
3544
3386
3545
3387
3546
3388
3547
3389
3548
3390
3549
3391
3550
3392
3551
3393
3552
3394
3553
3395
3554
3396
3555
3397
3556
3398
3557
3399
3558
3400
3559
3401
3560
3402
3561
3403
3562
3404
3563
3405
3564
3406
3565
3407
3566
3408
3567
3409
3568
3410
3569
3411
3570
3412
3571
3413
3572
3414
3573
3415
3574
3416
3575
3417
3576
3418
3577
3419
3578
3420
3579
3421
3580
3422
3581
3423
3582
3424
3583
3425
3584
3426
3585
3427
3586
3428
3587
3429
3588
3430
3589
3431
3590
3432
3591
3433
3592
3434
3593
3435
3594
3436
3595
3437
3596
3438
3597
3439
3598
3440
3599
3441
3600
3442
3601
3443
3602
3444
3603
3445
3604
3446
3605
3447
3606
3448
3607
3449
3608
3450
3609
3451
3610
3452
3611
3453
3612
3454
3613
3455
3614
3456
3615
3457
3616
3458
3617
3459
3618
3460
3619
3461
3620
3462
3621
3463
3622
3464
3623
3465
3624
3466
3625
3467
3626
3468
3627
3469
3628
3470
3629
3471
3630
3472
3631
3473
3632
3474
3633
3475
3634
3476
3635
3477
3636
3478
3637
3479
3638
3480
3639
3481
3640
3482
3641
3483
3642
3484
3643
3485
3644
3486
3645
3487
3646
3488
3647
3489
3648
3490
3649
3491
3650
3492
3651
3493
3652
3494
3653
3495
3654
3496
3655
3497
3656
3498
3657
3499
3658
3500
3659
3501
3660
3502
3661
3503
3662
3504
3663
3505
3664
3506
3665
3507
3666
3508
3667
3509
3668
3510
3669
3511
3670
3512
3671
3513
3672
3514
3673
3515
3674
3516
3675
3517
3676
3518
3677
3519
3678
3679
3521
3680
3522
3681
3523
3682
3524
3683
3525
3684
3526
3685
3527
3686
3528
3687
3529
3688
3530
3689
3531
3690
3532
3691
3533
3692
3534
3693
3535
3694
3536
3695
3537
3696
3538
3697
3539
3698
3540
3699
3541
3700
3542
3701
3543
3702
3544
3703
3545
3704
3546
3705
3547
3706
3548
3707
3549
3708
3550
3709
3551
3710
3552
3711
3553
3712
3554
3713
3555
3714
3556
3715
3557
3716
3558
3717
3559
3718
3560
3719
3561
3720
3562
3721
3563
3722
3564
3723
3565
3724
3566
3725
3567
3726
3568
3727
3569
3728
3570
3729
3571
3730
3572
3731
3573
3732
3574
3733
3575
3734
3576
3735
3577
3736
3578
3737
3579
3738
3580
3739
3581
3740
3582
3741
3583
3742
3584
3743
3585
3744
3586
3745
3587
3746
3588
3747
3589
3748
3590
3749
3591
3750
3592
3751
3593
3752
3594
3753
3595
3754
3596
3755
3597
3756
3598
3757
3599
3758
3600
3759
3601
3760
3602
3761
3603
3762
3604
3763
3605
3764
3606
3765
3607
3766
3608
3767
3609
3768
3610
3769
3611
3770
3612
3771
3613
3772
3614
3773
3615
3774
3616
3775
3617
3776
3618
3777
3619
3778
3620
3779
3621
3780
3622
3781
3623
3782
3624
3783
3625
3784
3626
3785
3627
3786
3628
3787
3629
3788
3630
3789
3631
3790
3632
3791
3633
3792
3634
3793
3635
3794
3636
3795
3637
3796
3638
3797
3639
3798
3640
3799
3641
3800
3642
3801
3643
3802
3644
3803
3645
3804
3646
3805
3647
3806
3648
3807
3649
3808
3650
3809
3651
3810
3652
3811
3653
3812
3654
3813
3655
3814
3656
3815
3657
3816
3658
3817
3659
3818
3660
3819
3661
3820
3662
3821
3663
3822
3664
3823
3665
3824
3666
3825
3667
3826
3668
3827
3669
3828
3670
3829
3671
3830
3672
3831
3673
3832
3674
3833
3675
3834
3676
3835
3677
3836
3678
3837
3679
3838
3839
3681
3840
3682
3841
3683
3842
3684
3843
3685
3844
3686
3845
3687
3846
3688
3847
3689
3848
3690
3849
3691
3850
3692
3851
3693
3852
3694
3853
3695
3854
3696
3855
3697
3856
3698
3857
3699
3858
3700
3859
3701
3860
3702
3861
3703
3862
3704
3863
3705
3864
3706
3865
3707
3866
3708
3867
3709
3868
3710
3869
3711
3870
3712
3871
3713
3872
3714
3873
3715
3874
3716
3875
3717
3876
3718
3877
3719
3878
3720
3879
3721
3880
3722
3881
3723
3882
3724
3883
3725
3884
3726
3885
3727
3886
3728
3887
3729
3888
3730
3889
3731
3890
3732
3891
3733
3892
3734
3893
3735
3894
3736
3895
3737
3896
3738
3897
3739
3898
3740
3899
3741
3900
3742
3901
3743
3902
3744
3903
3745
3904
3746
3905
3747
3906
3748
3907
3749
3908
3750
3909
3751
3910
3752
3911
3753
3912
3754
3913
3755
3914
3756
3915
3757
3916
3758
3917
3759
3918
3760
3919
3761
3920
3762
3921
3763
3922
3764
3923
3765
3924
3766
3925
3767
3926
3768
3927
3769
3928
3770
3929
3771
3930
3772
3931
3773
3932
3774
3933
3775
3934
3776
3935
3777
3936
3778
3937
3779
3938
3780
3939
3781
3940
3782
3941
3783
3942
3784
3943
3785
3944
3786
3945
3787
3946
3788
3947
3789
3948
3790
3949
3791
3950
3792
3951
3793
3952
3794
3953
3795
3954
3796
3955
3797
3956
3798
3957
3799
3958
3800
3959
3801
3960
3802
3961
3803
3962
3804
3963
3805
3964
3806
3965
3807
3966
3808
3967
3809
3968
3810
3969
3811
3970
3812
3971
3813
3972
3814
3973
3815
3974
3816
3975
3817
3976
3818
3977
3819
3978
3820
3979
3821
3980
3822
3981
3823
3982
3824
3983
3825
3984
3826
3985
3827
3986
3828
3987
3829
3988
3830
3989
3831
3990
3832
3991
3833
3992
3834
3993
3835
3994
3836
3995
3837
3996
3838
3997
3839
3998
3999
3841
4000
3842
4001
3843
4002
3844
4003
3845
4004
3846
4005
3847
4006
3848
4007
3849
4008
3850
4009
3851
4010
3852
4011
3853
4012
3854
4013
3855
4014
3856
4015
3857
4016
3858
4017
3859
4018
3860
4019
3861
4020
3862
4021
3863
4022
3864
4023
3865
4024
3866
4025
3867
4026
3868
4027
3869
4028
3870
4029
3871
4030
3872
4031
3873
4032
3874
4033
3875
4034
3876
4035
3877
4036
3878
4037
3879
4038
3880
4039
3881
4040
3882
4041
3883
4042
3884
4043
3885
4044
3886
4045
3887
4046
3888
4047
3889
4048
3890
4049
3891
4050
3892
4051
3893
4052
3894
4053
3895
4054
3896
4055
3897
4056
3898
4057
3899
4058
3900
4059
3901
4060
3902
4061
3903
4062
3904
4063
3905
4064
3906
4065
3907
4066
3908
4067
3909
4068
3910
4069
3911
4070
3912
4071
3913
4072
3914
4073
3915
4074
3916
4075
3917
4076
3918
4077
3919
4078
3920
4079
3921
4080
3922
4081
3923
4082
3924
4083
3925
4084
3926
4085
3927
4086
3928
4087
3929
4088
3930
4089
3931
4090
3932
4091
3933
4092
3934
4093
3935
4094
3936
4095
3937
4096
3938
4097
3939
4098
3940
4099
3941
4100
3942
4101
3943
4102
3944
4103
3945
4104
3946
4105
3947
4106
3948
4107
3949
4108
3950
4109
3951
4110
3952
4111
3953
4112
3954
4113
3955
4114
3956
4115
3957
4116
3958
4117
3959
4118
3960
4119
3961
4120
3962
4121
3963
4122
3964
4123
3965
4124
3966
4125
3967
4126
3968
4127
3969
4128
3970
4129
3971
4130
3972
4131
3973
4132
3974
4133
3975
4134
3976
4135
3977
4136
3978
4137
3979
4138
3980
4139
3981
4140
3982
4141
3983
4142
3984
4143
3985
4144
3986
4145
3987
4146
3988
4147
3989
4148
3990
4149
3991
4150
3992
4151
3993
4152
3994
4153
3995
4154
3996
4155
3997
4156
3998
4157
3999
4158
4159
4001
4160
4002
4161
4003
4162
4004
4163
4005
4164
4006
4165
4007
4166
4008
4167
4009
4168
4010
4169
4011
4170
4012
4171
4013
4172
4014
4173
4015
4174
4016
4175
4017
4176
4018
4177
4019
4178
4020
4179
4021
4180
4022
4181
4023
4182
4024
4183
4025
4184
4026
4185
4027
4186
4028
4187
4029
4188
4030
4189
4031
4190
4032
4191
4033
4192
4034
4193
4035
4194
4036
4195
4037
4196
4038
4197
4039
4198
4040
4199
4041
4200
4042
4201
4043
4202
4044
4203
4045
4204
4046
4205
4047
4206
4048
4207
4049
4208
4050
4209
4051
4210
4052
4211
4053
4212
4054
4213
4055
4214
4056
4215
4057
4216
4058
4217
4059
4218
4060
4219
4061
4220
4062
4221
4063
4222
4064
4223
4065
4224
4066
4225
4067
4226
4068
4227
4069
4228
4070
4229
4071
4230
4072
4231
4073
4232
4074
4233
4075
4234
4076
4235
4077
4236
4078
4237
4079
4238
4080
4239
4081
4240
4082
4241
4083
4242
4084
4243
4085
4244
4086
4245
4087
4246
4088
4247
4089
4248
4090
4249
4091
4250
4092
4251
4093
4252
4094
4253
4095
4254
4096
4255
4097
4256
4098
4257
4099
4258
4100
4259
4101
4260
4102
4261
4103
4262
4104
4263
4105
4264
4106
4265
4107
4266
4108
4267
4109
4268
4110
4269
4111
4270
4112
4271
4113
4272
4114
4273
4115
4274
4116
4275
4117
4276
4118
4277
4119
4278
4120
4279
4121
4280
4122
4281
4123
4282
4124
4283
4125
4284
4126
4285
4127
4286
4128
4287
4129
4288
4130
4289
4131
4290
4132
4291
4133
4292
4134
4293
4135
4294
4136
4295
4137
4296
4138
4297
4139
4298
4140
4299
4141
4300
4142
4301
4143
4302
4144
4303
4145
4304
4146
4305
4147
4306
4148
4307
4149
4308
4150
4309
4151
4310
4152
4311
4153
4312
4154
4313
4155
4314
4156
4315
4157
4316
4158
4317
4159
4318
4319
4161
4320
4162
4321
4163
4322
4164
4323
4165
4324
4166
4325
4167
4326
4168
4327
4169
4328
4170
4329
4171
4330
4172
4331
4173
4332
4174
4333
4175
4334
4176
4335
4177
4336
4178
4337
4179
4338
4180
4339
4181
4340
4182
4341
4183
4342
4184
4343
4185
4344
4186
4345
4187
4346
4188
4347
4189
4348
4190
4349
4191
4350
4192
4351
4193
4352
4194
4353
4195
4354
4196
4355
4197
4356
4198
4357
4199
4358
4200
4359
4201
4360
4202
4361
4203
4362
4204
4363
4205
4364
4206
4365
4207
4366
4208
4367
4209
4368
4210
4369
4211
4370
4212
4371
4213
4372
4214
4373
4215
4374
4216
4375
4217
4376
4218
4377
4219
4378
4220
4379
4221
4380
4222
4381
4223
4382
4224
4383
4225
4384
4226
4385
4227
4386
4228
4387
4229
4388
4230
4389
4231
4390
4232
4391
4233
4392
4234
4393
4235
4394
4236
4395
4237
4396
4238
4397
4239
4398
4240
4399
4241
4400
4242
4401
4243
4402
4244
4403
4245
4404
4246
4405
4247
4406
4248
4407
4249
4408
4250
4409
4251
4410
4252
4411
4253
4412
4254
4413
4255
4414
4256
4415
4257
4416
4258
4417
4259
4418
4260
4419
4261
4420
4262
4421
4263
4422
4264
4423
4265
4424
4266
4425
4267
4426
4268
4427
4269
4428
4270
4429
4271
4430
4272
4431
4273
4432
4274
4433
4275
4434
4276
4435
4277
4436
4278
4437
4279
4438
4280
4439
4281
4440
4282
4441
4283
4442
4284
4443
4285
4444
4286
4445
4287
4446
4288
4447
4289
4448
4290
4449
4291
4450
4292
4451
4293
4452
4294
4453
4295
4454
4296
4455
4297
4456
4298
4457
4299
4458
4300
4459
4301
4460
4302
4461
4303
4462
4304
4463
4305
4464
4306
4465
4307
4466
4308
4467
4309
4468
4310
4469
4311
4470
4312
4471
4313
4472
4314
4473
4315
4474
4316
4475
4317
4476
4318
4477
4319
4478
4479
4321
4480
4322
4481
4323
4482
4324
4483
4325
4484
4326
4485
4327
4486
4328
4487
4329
4488
4330
4489
4331
4490
4332
4491
4333
4492
4334
4493
4335
4494
4336
4495
4337
4496
4338
4497
4339
4498
4340
4499
4341
4500
4342
4501
4343
4502
4344
4503
4345
4504
4346
4505
4347
4506
4348
4507
4349
4508
4350
4509
4351
4510
4352
4511
4353
4512
4354
4513
4355
4514
4356
4515
4357
4516
4358
4517
4359
4518
4360
4519
4361
4520
4362
4521
4363
4522
4364
4523
4365
4524
4366
4525
4367
4526
4368
4527
4369
4528
4370
4529
4371
4530
4372
4531
4373
4532
4374
4533
4375
4534
4376
4535
4377
4536
4378
4537
4379
4538
4380
4539
4381
4540
4382
4541
4383
4542
4384
4543
4385
4544
4386
4545
4387
4546
4388
4547
4389
4548
4390
4549
4391
4550
4392
4551
4393
4552
4394
4553
4395
4554
4396
4555
4397
4556
4398
4557
4399
4558
4400
4559
4401
4560
4402
4561
4403
4562
4404
4563
4405
4564
4406
4565
4407
4566
4408
4567
4409
4568
4410
4569
4411
4570
4412
4571
4413
4572
4414
4573
4415
4574
4416
4575
4417
4576
4418
4577
4419
4578
4420
4579
4421
4580
4422
4581
4423
4582
4424
4583
4425
4584
4426
4585
4427
4586
4428
4587
4429
4588
4430
4589
4431
4590
4432
4591
4433
4592
4434
4593
4435
4594
4436
4595
4437
4596
4438
4597
4439
4598
4440
4599
4441
4600
4442
4601
4443
4602
4444
4603
4445
4604
4446
4605
4447
4606
4448
4607
4449
4608
4450
4609
4451
4610
4452
4611
4453
4612
4454
4613
4455
4614
4456
4615
4457
4616
4458
4617
4459
4618
4460
4619
4461
4620
4462
4621
4463
4622
4464
4623
4465
4624
4466
4625
4467
4626
4468
4627
4469
4628
4470
4629
4471
4630
4472
4631
4473
4632
4474
4633
4475
4634
4476
4635
4477
4636
4478
4637
4479
4638
4639
4481
4640
4482
4641
4483
4642
4484
4643
4485
4644
4486
4645
4487
4646
4488
4647
4489
4648
4490
4649
4491
4650
4492
4651
4493
4652
4494
4653
4495
4654
4496
4655
4497
4656
4498
4657
4499
4658
4500
4659
4501
4660
4502
4661
4503
4662
4504
4663
4505
4664
4506
4665
4507
4666
4508
4667
4509
4668
4510
4669
4511
4670
4512
4671
4513
4672
4514
4673
4515
4674
4516
4675
4517
4676
4518
4677
4519
4678
4520
4679
4521
4680
4522
4681
4523
4682
4524
4683
4525
4684
4526
4685
4527
4686
4528
4687
4529
4688
4530
4689
4531
4690
4532
4691
4533
4692
4534
4693
4535
4694
4536
4695
4537
4696
4538
4697
4539
4698
4540
4699
4541
4700
4542
4701
4543
4702
4544
4703
4545
4704
4546
4705
4547
4706
4548
4707
4549
4708
4550
4709
4551
4710
4552
4711
4553
4712
4554
4713
4555
4714
4556
4715
4557
4716
4558
4717
4559
4718
4560
4719
4561
4720
4562
4721
4563
4722
4564
4723
4565
4724
4566
4725
4567
4726
4568
4727
4569
4728
4570
4729
4571
4730
4572
4731
4573
4732
4574
4733
4575
4734
4576
4735
4577
4736
4578
4737
4579
4738
4580
4739
4581
4740
4582
4741
4583
4742
4584
4743
4585
4744
4586
4745
4587
4746
4588
4747
4589
4748
4590
4749
4591
4750
4592
4751
4593
4752
4594
4753
4595
4754
4596
4755
4597
4756
4598
4757
4599
4758
4600
4759
4601
4760
4602
4761
4603
4762
4604
4763
4605
4764
4606
4765
4607
4766
4608
4767
4609
4768
4610
4769
4611
4770
4612
4771
4613
4772
4614
4773
4615
4774
4616
4775
4617
4776
4618
4777
4619
4778
4620
4779
4621
4780
4622
4781
4623
4782
4624
4783
4625
4784
4626
4785
4627
4786
4628
4787
4629
4788
4630
4789
4631
4790
4632
4791
4633
4792
4634
4793
4635
4794
4636
4795
4637
4796
4638
4797
4639
4798
4799
4641
4800
4642
4801
4643
4802
4644
4803
4645
4804
4646
4805
4647
4806
4648
4807
4649
4808
4650
4809
4651
4810
4652
4811
4653
4812
4654
4813
4655
4814
4656
4815
4657
4816
4658
4817
4659
4818
4660
4819
4661
4820
4662
4821
4663
4822
4664
4823
4665
4824
4666
4825
4667
4826
4668
4827
4669
4828
4670
4829
4671
4830
4672
4831
4673
4832
4674
4833
4675
4834
4676
4835
4677
4836
4678
4837
4679
4838
4680
4839
4681
4840
4682
4841
4683
4842
4684
4843
4685
4844
4686
4845
4687
4846
4688
4847
4689
4848
4690
4849
4691
4850
4692
4851
4693
4852
4694
4853
4695
4854
4696
4855
4697
4856
4698
4857
4699
4858
4700
4859
4701
4860
4702
4861
4703
4862
4704
4863
4705
4864
4706
4865
4707
4866
4708
4867
4709
4868
4710
4869
4711
4870
4712
4871
4713
4872
4714
4873
4715
4874
4716
4875
4717
4876
4718
4877
4719
4878
4720
4879
4721
4880
4722
4881
4723
4882
4724
4883
4725
4884
4726
4885
4727
4886
4728
4887
4729
4888
4730
4889
4731
4890
4732
4891
4733
4892
4734
4893
4735
4894
4736
4895
4737
4896
4738
4897
4739
4898
4740
4899
4741
4900
4742
4901
4743
4902
4744
4903
4745
4904
4746
4905
4747
4906
4748
4907
4749
4908
4750
4909
4751
4910
4752
4911
4753
4912
4754
4913
4755
4914
4756
4915
4757
4916
4758
4917
4759
4918
4760
4919
4761
4920
4762
4921
4763
4922
4764
4923
4765
4924
4766
4925
4767
4926
4768
4927
4769
4928
4770
4929
4771
4930
4772
4931
4773
4932
4774
4933
4775
4934
4776
4935
4777
4936
4778
4937
4779
4938
4780
4939
4781
4940
4782
4941
4783
4942
4784
4943
4785
4944
4786
4945
4787
4946
4788
4947
4789
4948
4790
4949
4791
4950
4792
4951
4793
4952
4794
4953
4795
4954
4796
4955
4797
4956
4798
4957
4799
4958
4959
4801
4960
4802
4961
4803
4962
4804
4963
4805
4964
4806
4965
4807
4966
4808
4967
4809
4968
4810
4969
4811
4970
4812
4971
4813
4972
4814
4973
4815
4974
4816
4975
4817
4976
4818
4977
4819
4978
4820
4979
4821
4980
4822
4981
4823
4982
4824
4983
4825
4984
4826
4985
4827
4986
4828
4987
4829
4988
4830
4989
4831
4990
4832
4991
4833
4992
4834
4993
4835
4994
4836
4995
4837
4996
4838
4997
4839
4998
4840
4999
4841
5000
4842
5001
4843
5002
4844
5003
4845
5004
4846
5005
4847
5006
4848
5007
4849
5008
4850
5009
4851
5010
4852
5011
4853
5012
4854
5013
4855
5014
4856
5015
4857
5016
4858
5017
4859
5018
4860
5019
4861
5020
4862
5021
4863
5022
4864
5023
4865
5024
4866
5025
4867
5026
4868
5027
4869
5028
4870
5029
4871
5030
4872
5031
4873
5032
4874
5033
4875
5034
4876
5035
4877
5036
4878
5037
4879
5038
4880
5039
4881
5040
4882
5041
4883
5042
4884
5043
4885
5044
4886
5045
4887
5046
4888
5047
4889
5048
4890
5049
4891
5050
4892
5051
4893
5052
4894
5053
4895
5054
4896
5055
4897
5056
4898
5057
4899
5058
4900
5059
4901
5060
4902
5061
4903
5062
4904
5063
4905
5064
4906
5065
4907
5066
4908
5067
4909
5068
4910
5069
4911
5070
4912
5071
4913
5072
4914
5073
4915
5074
4916
5075
4917
5076
4918
5077
4919
5078
4920
5079
4921
5080
4922
5081
4923
5082
4924
5083
4925
5084
4926
5085
4927
5086
4928
5087
4929
5088
4930
5089
4931
5090
4932
5091
4933
5092
4934
5093
4935
5094
4936
5095
4937
5096
4938
5097
4939
5098
4940
5099
4941
5100
4942
5101
4943
5102
4944
5103
4945
5104
4946
5105
4947
5106
4948
5107
4949
5108
4950
5109
4951
5110
4952
5111
4953
5112
4954
5113
4955
5114
4956
5115
4957
5116
4958
5117
4959
5118
5119
4961
5120
4962
5121
4963
5122
4964
5123
4965
5124
4966
5125
4967
5126
4968
5127
4969
5128
4970
5129
4971
5130
4972
5131
4973
5132
4974
5133
4975
5134
4976
5135
4977
5136
4978
5137
4979
5138
4980
5139
4981
5140
4982
5141
4983
5142
4984
5143
4985
5144
4986
5145
4987
5146
4988
5147
4989
5148
4990
5149
4991
5150
4992
5151
4993
5152
4994
5153
4995
5154
4996
5155
4997
5156
4998
5157
4999
5158
5000
5159
5001
5160
5002
5161
5003
5162
5004
5163
5005
5164
5006
5165
5007
5166
5008
5167
5009
5168
5010
5169
5011
5170
5012
5171
5013
5172
5014
5173
5015
5174
5016
5175
5017
5176
5018
5177
5019
5178
5020
5179
5021
5180
5022
5181
5023
5182
5024
5183
5025
5184
5026
5185
5027
5186
5028
5187
5029
5188
5030
5189
5031
5190
5032
5191
5033
5192
5034
5193
5035
5194
5036
5195
5037
5196
5038
5197
5039
5198
5040
5199
5041
5200
5042
5201
5043
5202
5044
5203
5045
5204
5046
5205
5047
5206
5048
5207
5049
5208
5050
5209
5051
5210
5052
5211
5053
5212
5054
5213
5055
5214
5056
5215
5057
5216
5058
5217
5059
5218
5060
5219
5061
5220
5062
5221
5063
5222
5064
5223
5065
5224
5066
5225
5067
5226
5068
5227
5069
5228
5070
5229
5071
5230
5072
5231
5073
5232
5074
5233
5075
5234
5076
5235
5077
5236
5078
5237
5079
5238
5080
5239
5081
5240
5082
5241
5083
5242
5084
5243
5085
5244
5086
5245
5087
5246
5088
5247
5089
5248
5090
5249
5091
5250
5092
5251
5093
5252
5094
5253
5095
5254
5096
5255
5097
5256
5098
5257
5099
5258
5100
5259
5101
5260
5102
5261
5103
5262
5104
5263
5105
5264
5106
5265
5107
5266
5108
5267
5109
5268
5110
5269
5111
5270
5112
5271
5113
5272
5114
5273
5115
5274
5116
5275
5117
5276
5118
5277
5119
5278
5279
5121
5280
5122
5281
5123
5282
5124
5283
5125
5284
5126
5285
5127
5286
5128
5287
5129
5288
5130
5289
5131
5290
5132
5291
5133
5292
5134
5293
5135
5294
5136
5295
5137
5296
5138
5297
5139
5298
5140
5299
5141
5300
5142
5301
5143
5302
5144
5303
5145
5304
5146
5305
5147
5306
5148
5307
5149
5308
5150
5309
5151
5310
5152
5311
5153
5312
5154
5313
5155
5314
5156
5315
5157
5316
5158
5317
5159
5318
5160
5319
5161
5320
5162
5321
5163
5322
5164
5323
5165
5324
5166
5325
5167
5326
5168
5327
5169
5328
5170
5329
5171
5330
5172
5331
5173
5332
5174
5333
5175
5334
5176
5335
5177
5336
5178
5337
5179
5338
5180
5339
5181
5340
5182
5341
5183
5342
5184
5343
5185
5344
5186
5345
5187
5346
5188
5347
5189
5348
5190
5349
5191
5350
5192
5351
5193
5352
5194
5353
5195
5354
5196
5355
5197
5356
5198
5357
5199
5358
5200
5359
5201
5360
5202
5361
5203
5362
5204
5363
5205
5364
5206
5365
5207
5366
5208
5367
5209
5368
5210
5369
5211
5370
5212
5371
5213
5372
5214
5373
5215
5374
5216
5375
5217
5376
5218
5377
5219
5378
5220
5379
5221
5380
5222
5381
5223
5382
5224
5383
5225
5384
5226
5385
5227
5386
5228
5387
5229
5388
5230
5389
5231
5390
5232
5391
5233
5392
5234
5393
5235
5394
5236
5395
5237
5396
5238
5397
5239
5398
5240
5399
5241
5400
5242
5401
5243
5402
5244
5403
5245
5404
5246
5405
5247
5406
5248
5407
5249
5408
5250
5409
5251
5410
5252
5411
5253
5412
5254
5413
5255
5414
5256
5415
5257
5416
5258
5417
5259
5418
5260
5419
5261
5420
5262
5421
5263
5422
5264
5423
5265
5424
5266
5425
5267
5426
5268
5427
5269
5428
5270
5429
5271
5430
5272
5431
5273
5432
5274
5433
5275
5434
5276
5435
5277
5436
5278
5437
5279
5438
5439
5281
5440
5282
5441
5283
5442
5284
5443
5285
5444
5286
5445
5287
5446
5288
5447
5289
5448
5290
5449
5291
5450
5292
5451
5293
5452
5294
5453
5295
5454
5296
5455
5297
5456
5298
5457
5299
5458
5300
5459
5301
5460
5302
5461
5303
5462
5304
5463
5305
5464
5306
5465
5307
5466
5308
5467
5309
5468
5310
5469
5311
5470
5312
5471
5313
5472
5314
5473
5315
5474
5316
5475
5317
5476
5318
5477
5319
5478
5320
5479
5321
5480
5322
5481
5323
5482
5324
5483
5325
5484
5326
5485
5327
5486
5328
5487
5329
5488
5330
5489
5331
5490
5332
5491
5333
5492
5334
5493
5335
5494
5336
5495
5337
5496
5338
5497
5339
5498
5340
5499
5341
5500
5342
5501
5343
5502
5344
5503
5345
5504
5346
5505
5347
5506
5348
5507
5349
5508
5350
5509
5351
5510
5352
5511
5353
5512
5354
5513
5355
5514
5356
5515
5357
5516
5358
5517
5359
5518
5360
5519
5361
5520
5362
5521
5363
5522
5364
5523
5365
5524
5366
5525
5367
5526
5368
5527
5369
5528
5370
5529
5371
5530
5372
5531
5373
5532
5374
5533
5375
5534
5376
5535
5377
5536
5378
5537
5379
5538
5380
5539
5381
5540
5382
5541
5383
5542
5384
5543
5385
5544
5386
5545
5387
5546
5388
5547
5389
5548
5390
5549
5391
5550
5392
5551
5393
5552
5394
5553
5395
5554
5396
5555
5397
5556
5398
5557
5399
5558
5400
5559
5401
5560
5402
5561
5403
5562
5404
5563
5405
5564
5406
5565
5407
5566
5408
5567
5409
5568
5410
5569
5411
5570
5412
5571
5413
5572
5414
5573
5415
5574
5416
5575
5417
5576
5418
5577
5419
5578
5420
5579
5421
5580
5422
5581
5423
5582
5424
5583
5425
5584
5426
5585
5427
5586
5428
5587
5429
5588
5430
5589
5431
5590
5432
5591
5433
5592
5434
5593
5435
5594
5436
5595
5437
5596
5438
5597
5439
5598
5599
5441
5600
5442
5601
5443
5602
5444
5603
5445
5604
5446
5605
5447
5606
5448
5607
5449
5608
5450
5609
5451
5610
5452
5611
5453
5612
5454
5613
5455
5614
5456
5615
5457
5616
5458
5617
5459
5618
5460
5619
5461
5620
5462
5621
5463
5622
5464
5623
5465
5624
5466
5625
5467
5626
5468
5627
5469
5628
5470
5629
5471
5630
5472
5631
5473
5632
5474
5633
5475
5634
5476
5635
5477
5636
5478
5637
5479
5638
5480
5639
5481
5640
5482
5641
5483
5642
5484
5643
5485
5644
5486
5645
5487
5646
5488
5647
5489
5648
5490
5649
5491
5650
5492
5651
5493
5652
5494
5653
5495
5654
5496
5655
5497
5656
5498
5657
5499
5658
5500
5659
5501
5660
5502
5661
5503
5662
5504
5663
5505
5664
5506
5665
5507
5666
5508
5667
5509
5668
5510
5669
5511
5670
5512
5671
5513
5672
5514
5673
5515
5674
5516
5675
5517
5676
5518
5677
5519
5678
5520
5679
5521
5680
5522
5681
5523
5682
5524
5683
5525
5684
5526
5685
5527
5686
5528
5687
5529
5688
5530
5689
5531
5690
5532
5691
5533
5692
5534
5693
5535
5694
5536
5695
5537
5696
5538
5697
5539
5698
5540
5699
5541
5700
5542
5701
5543
5702
5544
5703
5545
5704
5546
5705
5547
5706
5548
5707
5549
5708
5550
5709
5551
5710
5552
5711
5553
5712
5554
5713
5555
5714
5556
5715
5557
5716
5558
5717
5559
5718
5560
5719
5561
5720
5562
5721
5563
5722
5564
5723
5565
5724
5566
5725
5567
5726
5568
5727
5569
5728
5570
5729
5571
5730
5572
5731
5573
5732
5574
5733
5575
5734
5576
5735
5577
5736
5578
5737
5579
5738
5580
5739
5581
5740
5582
5741
5583
5742
5584
5743
5585
5744
5586
5745
5587
5746
5588
5747
5589
5748
5590
5749
5591
5750
5592
5751
5593
5752
5594
5753
5595
5754
5596
5755
5597
5756
5598
5757
5599
5758
5759
5601
5760
5602
5761
5603
5762
5604
5763
5605
5764
5606
5765
5607
5766
5608
5767
5609
5768
5610
5769
5611
5770
5612
5771
5613
5772
5614
5773
5615
5774
5616
5775
5617
5776
5618
5777
5619
5778
5620
5779
5621
5780
5622
5781
5623
5782
5624
5783
5625
5784
5626
5785
5627
5786
5628
5787
5629
5788
5630
5789
5631
5790
5632
5791
5633
5792
5634
5793
5635
5794
5636
5795
5637
5796
5638
5797
5639
5798
5640
5799
5641
5800
5642
5801
5643
5802
5644
5803
5645
5804
5646
5805
5647
5806
5648
5807
5649
5808
5650
5809
5651
5810
5652
5811
5653
5812
5654
5813
5655
5814
5656
5815
5657
5816
5658
5817
5659
5818
5660
5819
5661
5820
5662
5821
5663
5822
5664
5823
5665
5824
5666
5825
5667
5826
5668
5827
5669
5828
5670
5829
5671
5830
5672
5831
5673
5832
5674
5833
5675
5834
5676
5835
5677
5836
5678
5837
5679
5838
5680
5839
5681
5840
5682
5841
5683
5842
5684
5843
5685
5844
5686
5845
5687
5846
5688
5847
5689
5848
5690
5849
5691
5850
5692
5851
5693
5852
5694
5853
5695
5854
5696
5855
5697
5856
5698
5857
5699
5858
5700
5859
5701
5860
5702
5861
5703
5862
5704
5863
5705
5864
5706
5865
5707
5866
5708
5867
5709
5868
5710
5869
5711
5870
5712
5871
5713
5872
5714
5873
5715
5874
5716
5875
5717
5876
5718
5877
5719
5878
5720
5879
5721
5880
5722
5881
5723
5882
5724
5883
5725
5884
5726
5885
5727
5886
5728
5887
5729
5888
5730
5889
5731
5890
5732
5891
5733
5892
5734
5893
5735
5894
5736
5895
5737
5896
5738
5897
5739
5898
5740
5899
5741
5900
5742
5901
5743
5902
5744
5903
5745
5904
5746
5905
5747
5906
5748
5907
5749
5908
5750
5909
5751
5910
5752
5911
5753
5912
5754
5913
5755
5914
5756
5915
5757
5916
5758
5917
5759
5918
5919
5761
5920
5762
5921
5763
5922
5764
5923
5765
5924
5766
5925
5767
5926
5768
5927
5769
5928
5770
5929
5771
5930
5772
5931
5773
5932
5774
5933
5775
5934
5776
5935
5777
5936
5778
5937
5779
5938
5780
5939
5781
5940
5782
5941
5783
5942
5784
5943
5785
5944
5786
5945
5787
5946
5788
5947
5789
5948
5790
5949
5791
5950
5792
5951
5793
5952
5794
5953
5795
5954
5796
5955
5797
5956
5798
5957
5799
5958
5800
5959
5801
5960
5802
5961
5803
5962
5804
5963
5805
5964
5806
5965
5807
5966
5808
5967
5809
5968
5810
5969
5811
5970
5812
5971
5813
5972
5814
5973
5815
5974
5816
5975
5817
5976
5818
5977
5819
5978
5820
5979
5821
5980
5822
5981
5823
5982
5824
5983
5825
5984
5826
5985
5827
5986
5828
5987
5829
5988
5830
5989
5831
5990
5832
5991
5833
5992
5834
5993
5835
5994
5836
5995
5837
5996
5838
5997
5839
5998
5840
5999
5841
6000
5842
6001
5843
6002
5844
6003
5845
6004
5846
6005
5847
6006
5848
6007
5849
6008
5850
6009
5851
6010
5852
6011
5853
6012
5854
6013
5855
6014
5856
6015
5857
6016
5858
6017
5859
6018
5860
6019
5861
6020
5862
6021
5863
6022
5864
6023
5865
6024
5866
6025
5867
6026
5868
6027
5869
6028
5870
6029
5871
6030
5872
6031
5873
6032
5874
6033
5875
6034
5876
6035
5877
6036
5878
6037
5879
6038
5880
6039
5881
6040
5882
6041
5883
6042
5884
6043
5885
6044
5886
6045
5887
6046
5888
6047
5889
6048
5890
6049
5891
6050
5892
6051
5893
6052
5894
6053
5895
6054
5896
6055
5897
6056
5898
6057
5899
6058
5900
6059
5901
6060
5902
6061
5903
6062
5904
6063
5905
6064
5906
6065
5907
6066
5908
6067
5909
6068
5910
6069
5911
6070
5912
6071
5913
6072
5914
6073
5915
6074
5916
6075
5917
6076
5918
6077
5919
6078
6079
5921
6080
5922
6081
5923
6082
5924
6083
5925
6084
5926
6085
5927
6086
5928
6087
5929
6088
5930
6089
5931
6090
5932
6091
5933
6092
5934
6093
5935
6094
5936
6095
5937
6096
5938
6097
5939
6098
5940
6099
5941
6100
5942
6101
5943
6102
5944
6103
5945
6104
5946
6105
5947
6106
5948
6107
5949
6108
5950
6109
5951
6110
5952
6111
5953
6112
5954
6113
5955
6114
5956
6115
5957
6116
5958
6117
5959
6118
5960
6119
5961
6120
5962
6121
5963
6122
5964
6123
5965
6124
5966
6125
5967
6126
5968
6127
5969
6128
5970
6129
5971
6130
5972
6131
5973
6132
5974
6133
5975
6134
5976
6135
5977
6136
5978
6137
5979
6138
5980
6139
5981
6140
5982
6141
5983
6142
5984
6143
5985
6144
5986
6145
5987
6146
5988
6147
5989
6148
5990
6149
5991
6150
5992
6151
5993
6152
5994
6153
5995
6154
5996
6155
5997
6156
5998
6157
5999
6158
6000
6159
6001
6160
6002
6161
6003
6162
6004
6163
6005
6164
6006
6165
6007
6166
6008
6167
6009
6168
6010
6169
6011
6170
6012
6171
6013
6172
6014
6173
6015
6174
6016
6175
6017
6176
6018
6177
6019
6178
6020
6179
6021
6180
6022
6181
6023
6182
6024
6183
6025
6184
6026
6185
6027
6186
6028
6187
6029
6188
6030
6189
6031
6190
6032
6191
6033
6192
6034
6193
6035
6194
6036
6195
6037
6196
6038
6197
6039
6198
6040
6199
6041
6200
6042
6201
6043
6202
6044
6203
6045
6204
6046
6205
6047
6206
6048
6207
6049
6208
6050
6209
6051
6210
6052
6211
6053
6212
6054
6213
6055
6214
6056
6215
6057
6216
6058
6217
6059
6218
6060
6219
6061
6220
6062
6221
6063
6222
6064
6223
6065
6224
6066
6225
6067
6226
6068
6227
6069
6228
6070
6229
6071
6230
6072
6231
6073
6232
6074
6233
6075
6234
6076
6235
6077
6236
6078
6237
6079
6238
6239
6081
6240
6082
6241
6083
6242
6084
6243
6085
6244
6086
6245
6087
6246
6088
6247
6089
6248
6090
6249
6091
6250
6092
6251
6093
6252
6094
6253
6095
6254
6096
6255
6097
6256
6098
6257
6099
6258
6100
6259
6101
6260
6102
6261
6103
6262
6104
6263
6105
6264
6106
6265
6107
6266
6108
6267
6109
6268
6110
6269
6111
6270
6112
6271
6113
6272
6114
6273
6115
6274
6116
6275
6117
6276
6118
6277
6119
6278
6120
6279
6121
6280
6122
6281
6123
6282
6124
6283
6125
6284
6126
6285
6127
6286
6128
6287
6129
6288
6130
6289
6131
6290
6132
6291
6133
6292
6134
6293
6135
6294
6136
6295
6137
6296
6138
6297
6139
6298
6140
6299
6141
6300
6142
6301
6143
6302
6144
6303
6145
6304
6146
6305
6147
6306
6148
6307
6149
6308
6150
6309
6151
6310
6152
6311
6153
6312
6154
6313
6155
6314
6156
6315
6157
6316
6158
6317
6159
6318
6160
6319
6161
6320
6162
6321
6163
6322
6164
6323
6165
6324
6166
6325
6167
6326
6168
6327
6169
6328
6170
6329
6171
6330
6172
6331
6173
6332
6174
6333
6175
6334
6176
6335
6177
6336
6178
6337
6179
6338
6180
6339
6181
6340
6182
6341
6183
6342
6184
6343
6185
6344
6186
6345
6187
6346
6188
6347
6189
6348
6190
6349
6191
6350
6192
6351
6193
6352
6194
6353
6195
6354
6196
6355
6197
6356
6198
6357
6199
6358
6200
6359
6201
6360
6202
6361
6203
6362
6204
6363
6205
6364
6206
6365
6207
6366
6208
6367
6209
6368
6210
6369
6211
6370
6212
6371
6213
6372
6214
6373
6215
6374
6216
6375
6217
6376
6218
6377
6219
6378
6220
6379
6221
6380
6222
6381
6223
6382
6224
6383
6225
6384
6226
6385
6227
6386
6228
6387
6229
6388
6230
6389
6231
6390
6232
6391
6233
6392
6234
6393
6235
6394
6236
6395
6237
6396
6238
6397
6239
6398
6399
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
)


// ************************************************************************* //
